import request from './request'

/**
 * 添加到购物车
 * @param {Object} data - 购物车商品信息
 * @returns {Promise}
 */
export function addToCart (data) {
  return request({
    url: '/cart/add',
    method: 'post',
    data
  })
}

/**
 * 查询购物车列表
 * @returns {Promise}
 */
export function getCartList () {
  return request({
    url: '/cart/list',
    method: 'get'
  })
}

/**
 * 从购物车移除
 * @param {number} id - 购物车项ID
 * @returns {Promise}
 */
export function removeFromCart (id) {
  return request({
    url: `/cart/${id}`,
    method: 'delete'
  })
}

/**
 * 更新购物车商品数量
 * @param {Object} data
 * @param {number} data.id - 购物车项ID
 * @param {number} data.quantity - 数量
 * @returns {Promise}
 */
export function updateCartQuantity (data) {
  return request({
    url: '/cart/update',
    method: 'put',
    data
  })
}

/**
 * 批量添加到购物车
 * @param {Array} items - 购物车商品列表
 * @returns {Promise}
 */
export function batchAddToCart (items) {
  return request({
    url: '/cart/batch',
    method: 'post',
    data: items
  })
}